System and method for demarkating smart areas

ABSTRACT

A method, system and computer readable media for detecting entry of an IoT pack into a geofenced location. The method may begin by broadcasting a Bluetooth inquiry message from a Bluetooth radio that forms a part of an IoT pack. Upon receipt of one or more responses to the inquiry message a Bluetooth radio that forms a part of a given beacon used to demark a geofenced location, the IoT pack energizes an ultra wide band radio that forms a part of the IoT pack and begins sending and receiving ultra wide band signals to an ultra wide band radios that form a part of the given beacon. Ranging information is calculated from the IoT pack to the one or more beacons on the basis of the received ultra wide band signals, which is analyzed to determine the location of the IoT pack relative to the geofenced location.

COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains material,which is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patent documentor the patent disclosure, as it appears in the Patent and TrademarkOffice patent files or records, but otherwise reserves all copyrightrights whatsoever.

FIELD OF THE INVENTION

The invention described herein generally relates to tracking the entryof one or more devices into a demarcated geofenced location, referred toherein as a “smart area”. In particular, embodiments of the inventionrelate to the use of hardware beacons to demark the boundaries of agiven geographic region such that devices can determine entry into suchareas and take appropriate action, if any.

BACKGROUND OF THE INVENTION

There are a number of tracking systems that are presently in use acrossa variety of contexts. One such use case is in the context of personaltransport devices, which may take the form of, for example, electricscooters, e-bikes, etc. Typically, such devices are equipped withhardware such that the personal transport device is addressable,locatable, etc., i.e, turning a “dumb” devices into an IoT endpoint. Thecurrent state of the art for tracking the IoT pack on such devices lacksthe ability to provide fine-grained, high-resolution information withrespect to the exact physical location of the IoT pack or object towhich it is affixed. This is particularly a problem vis-à-vis the returnof rental personal transport devices that must be returned to a designedreturn area at the conclusion of a given rental session. Currently, manysuch rental systems require the user to take a picture of the devicewithin a designated return location, uploading the photo to a server asconfirmation that the user has properly returned the device to anauthorized location.

Bluetooth is one technology that can be used to determine the locationof an IoT pack. For example, where a plurality of Bluetooth transceiversare strategically positioned to cover a large area, the transceivers cantrack the positions of any discoverable device, recording and sendingany data back to a single address. Each Bluetooth transceiver acts likeany regular Bluetooth device and searches for every device within range.The resultant location determinations that are made on the basis of thetransmission and receipt of Bluetooth signals does not providefine-grained precision, the result being that the actual, physicallocation of an IoT pack can be several meters away from the calculated,resultant location determination.

WiFi is another option for determining the location of a device andwhether such device is within a geofenced location. Like othersolutions, this technology suffers from lack of coverage in rural areaswhere there are few, if any, WiFi hotspots. Although more useful inurban areas that can take advantage of several areas with densely packedhotspots, there are also security concerns and lack of required levelsof precision in the resultant location determinations, again beingseveral meters divorced from the actual, physical location of an objectin 3D space.

A third option is the use of GPS, but its use in this context is alsoproblematic. First, since the GPS receiver is constantly communicatingwith a plurality of satellites, it uses substantially more data andbattery life than passive trackers. Architecturally, these devices needconstant and direct access to the sky with a line of sight forcommunication with the GPS satellites; the GPS receiver is unable toperform its location calculations when it is unable to reach thenecessary satellites. Finally, for civilian GPS platforms, it is not asaccurate as other technologies, e.g., RFID, which can locate a tag inthe next room. Moreover, the general public doesn't have access to theprecision provide by ultra-accurate military GPS trackers.

Accordingly, new tracking platforms and techniques, particularlyhardware and software platforms that define geographic smart areas,tracking objects within and without such areas in a manner that obviatesdrawbacks associated with the prior art.

SUMMARY OF THE INVENTION

Various embodiments of the present invention are directed towards asystems, methods and computer program products for detecting entry of anIoT pack into a geofenced location. A system in accordance with oneembodiment of the present invention comprises a plurality of beaconsarranged along the perimeter of a geofenced location, a given one of theplurality of beacons operative to transmit one or more signals, and anIoT pack operative to receive the one or more signals from one or moreof the plurality of beacons and determine its location on the basisthereof relative to the geofenced location.

According to one embodiment, a given one of the plurality of beaconscomprises a base by which to affix the given beacon to a surface, adurable enclosure that defines an internal volume for the storage of oneor more electrical and mechanical components, one or more radiotransceivers disposed of within the internal volume of the durableenclosure, and a power source to energize the one or more radios. Agiven one of the one or more radios may be an ultra wide band radio and,in conjunction with the foregoing, may comprise a Bluetooth radio. Thegeofenced location defined by the plurality of beacons in one embodimentis a polygon whereby the plurality of beacons are arranged at thevertices of the geofenced location. According to one embodiment thegeofenced location is a regular polygon, whereas other embodimentscomprise irregular shapes or geographies.

The IoT pack according to one embodiment comprises an ultra wide bandradio and is operative to receive one or more ultra wide band signals;it may also comprise a Bluetooth radio. IoT pack may engage the ultrawide band radio in response to the receipt of a response to a Bluetoothinquiry message and disengage the ultra wide band radio after expirationof a timeout period. The IoT pack may further comprise a programmableprocessor; one or more radio transceivers to receive signals, a storagedevice, and program code retrievable from the storage device andexecutable by the programmable processor to determine the location ofthe IoT pack relative to the geofenced location on the basis of thereceived one or more signals from one or more of the plurality ofbeacons. According to some embodiments, the processor executes programcode to perform an action in response to determining the location of theIoT pack relative to the geofenced location. More specifically, theprocessor may execute program code to perform an action in response todetermining that the IoT pack has entered the geofenced location.

In addition to the foregoing, embodiments of the present invention aredirected towards a method for detecting entry of an IoT pack into ageofenced location. The method in accordance with one embodimentcomprises broadcasting a Bluetooth inquiry message from a Bluetoothradio that forms a part of an IoT pack and, upon receipt of one or moreresponses to the inquiry message from one or more Bluetooth radios thatform a part of one or more beacons that are used to demark a geofencedlocation, energizing an ultra wide band radio that forms a part of theIoT pack and receiving ultra wide band signals from one or more ultrawide band radios that form a part of the one or more beacons. Ranginginformation is calculated from the IoT pack to the one or more beaconson the basis of the received ultra wide band signals, which are analyzedto determine the location of the IoT pack relative to the geofencedlocation.

In accordance with some embodiments, the calculated ranging informationcomprises determining if the IoT pack is located within the geofencedlocation. On exemplary technique for performing such calculations basedon ranging information from the IoT pack to the one or more beaconscomprises using Two-Way Ranging (“TWR”) to determine the location of theIoT pack Using TWR to determine the location of the IoT pack comprisesmultiplying the round-trip time of the ultra wide band signals betweenthe IoT pack and a given beacon by the speed of light and then dividingby two.

Finally, embodiments of the present invention are directed towardsnon-transitory computer readable media comprising program code that whenexecuted by a programmable processor causes execution of a method fordetecting entry of an IoT pack into a geofenced location, the computerreadable media comprising. The non-transitory computer readable mediaaccording to one such embodiment comprises computer program code forbroadcasting a Bluetooth inquiry message from a Bluetooth radio thatforms a part of an IoT pack and computer program code for energizing anultra wide band radio that forms a part of the IoT pack and receivingultra wide band signals from one or more ultra wide band radios thatform a part of the one or more beacons upon receipt of one or moreresponses to the inquiry message from one or more Bluetooth radios thatform a part of one or more beacons that are used to demark a geofencedlocation. In addition the non-transitory computer readable mediacomprises computer program code for calculating ranging information fromthe IoT pack to the one or more beacons on the basis of the receivedultra wide band signals and computer program code for analyzing thecalculated ranging information to determine the location of the IoT packrelative to the geofenced location.

According to some embodiments, the computer program code for analyzingthe calculated ranging information comprises computer program code fordetermining if the IoT pack is located within the geofenced location,which may comprise computer program code for using Two-Way Ranging(“TWR”) to determine the location of the IoT pack. The computer programcode for using TWR to determine the location of the IoT pack maycomprise computer program code for multiplying the round-trip time ofthe ultra wide band signals between the IoT pack and a given beacon bythe speed of light and then dividing by two.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention is illustrated in the figures of the accompanying drawingswhich are meant to be exemplary and not limiting, in which likereferences are intended to refer to like or corresponding parts, and inwhich:

FIG. 1 presents a series of components for demarcating a smart area andtracking of devices entering and leaving the confines of such smart areaaccording to one embodiment of the present invention;

FIG. 2 presents a block diagram illustrating hardware components of anIoT pack and personal transport device according to one embodiment ofthe present invention;

FIG. 3 presents a series of hardware components used for trilaterationof an object within a given smart area according to one embodiment ofthe present invention;

FIG. 4 presents tracking entry of a device into a smart area accordingto one embodiment of the present invention;

FIG. 5 presents the first part of a flow diagram that illustratestracking entry of a device into a smart area according to one embodimentof the present invention; and

FIG. 6 presents the second part of a flow diagram that illustratestracking entry of a device into a smart area according to one embodimentof the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Subject matter will now be described more fully hereinafter withreference to the accompanying drawings, which form a part hereof, andwhich show, by way of illustration, exemplary embodiments in which theinvention may be practiced. Subject matter may, however, be embodied ina variety of different forms and, therefore, covered or claimed subjectmatter is intended to be construed as not being limited to any exampleembodiments set forth herein; example embodiments are provided merely tobe illustrative. It is to be understood that other embodiments may beutilized and structural changes may be made without departing from thescope of the present invention. Likewise, a reasonably broad scope forclaimed or covered subject matter is intended. Among other things, forexample, subject matter may be embodied as methods, devices, components,or systems. Accordingly, embodiments may, for example, take the form ofhardware, software, firmware or any combination thereof (other thansoftware per se). The following detailed description is, therefore, notintended to be taken in a limiting sense.

Throughout the specification and claims, terms may have nuanced meaningssuggested or implied in context beyond an explicitly stated meaning.Likewise, the phrase “in one embodiment” as used herein does notnecessarily refer to the same embodiment and the phrase “in anotherembodiment” as used herein does not necessarily refer to a differentembodiment. It is intended, for example, that claimed subject matterinclude combinations of example embodiments in whole or in part.

FIG. 1 presents a series of components for demarcating a smart area andtracking of devices entering and leaving the confines of such smart areaaccording to one embodiment of the present invention. As used herein,the term “smart area” refers to a given geographic region or geofencedlocation that consists of an arbitrary shape and dimensions, which mayfurther include arbitrary volume when taking the z-axis into account.The smart area may be outfitted with a plurality of transmitters andreceivers, referred to herein as “beacons”, which are used to demark theboundary of the smart area. FIG. 1 presents one such exemplary smartarea 100 that is formed in the shape of a rectangle and in which theboundaries of the area are demarked by four beacons, 102 a, 102 b, 102 cand 102 d. Because the exemplary smart area 100 is a polygon, itsboundaries may be marked by placing beacons 102 a, 102 b, 102 c and 102d at each of its vertices. Those of skill in the art should readilyappreciate that smart areas in the form of different or more complexshapes may require more or fewer beacons to demark the given area. Allsuch manner, size and shape of smart areas are contemplated as fallingwithin the scope of the invention.

A beacon 102 in accordance with one embodiment of the present inventionis a transceiver outfitted with one or more radios 110 such that it cantransmit and receive signals in accordance with one or more transmissionprotocols that the radio(s) 110 support. Power can be supplied to thebeacon 102 through a number of different sources, including battery,solar, and mains power (not pictured). Various embodiments of theinvention include the use of multiple redundant power sources, forexample, solar cells providing charge to a local batter that powers theradio 110 in a given beacon 102, with hardwired mains power as a backupin the event other power sources fail. The beacon 102 may also comprisea durable outer shell 108 such that it can withstand a variety ofenvironments, as well as a base 116 by which the beacon may be affixedto the ground. Unique screw heads, nuts or locking mechanisms can beused to affix the base 116 to a desired location in a secure manner.

As deployed, the beacons 102 a, 102 b, 102 c and 102 d demark points inspace, e.g., the location to which a user affixes the beacon. A user,which may be an administrator of one or more smart area, utilizes acomputing workstation 122 located at a network operations center (“NOC”)to define a smart area 100 on the basis of the location of the beacons102 a, 102 b, 102 c and 102 d that demark its boundary. The user recordsthis information in a data store 118, which his then utilized bydevices, e.g., scooters 104 a and 104 b, to determine entry to and exitfrom a given smart area 100.

The NOC 118 presented in FIG. 1 includes a server device 122 anddatabase 120. Server 122 may comprise a general-purpose computing device(e.g., personal computers, mobile devices, terminals, laptops, personaldigital assistants (PDA), cell phones, tablet computers, or anycomputing device having a central processing unit and memory unitcapable of connecting to a network). Server 122 may also comprise agraphical user interface (GUI) or a browser application provided on adisplay (e.g., monitor screen, LCD or LED display, projector, etc.),such as a touch-sensitive color 2D or 3D display. Server 122 may storeor execute a variety of personal computer operating systems, includingWindows, Mac OS or Linux, a mobile operating system, such as iOS,Android, or Windows Mobile, or the like. Server 122 may also include ormay execute a variety of possible applications, such as a serversoftware application enabling communication with geographicallydispersed IoT packs, thereby allowing for communication of textualcontent, multimedia content, images, one or more messages, such as viaemail, short message service (“SMS”) or multimedia message service(“MMS”) messages, including via a network, such as a social network,including, for example, Facebook, LinkedIn, Twitter, Flickr, or Google+,to provide only a few possible examples.

Server 122 may vary widely in configuration or capabilities, butgenerally includes one or more central processing units and memory, andmay also include one or more mass storage devices, one or more powersupplies, one or more wired or wireless network interfaces, one or moreinput/output interfaces, or one or more operating systems, such asWindows Server, Mac OS X, Unix, Linux, FreeBSD, or the like. In theillustrated embodiment, Server 122 includes a connection to a data store120, e.g., an RDBMS or NoSQL data store. Data store 120 may comprisemass storage, such as network attached storage (“NAS”), access to astorage area network (“SAN”), or other forms of computer ormachine-readable media for storing data. Data that the data store 120maintains includes, but is not limited to, administrative information,user data and account information, beacon locations, the geographiclocations of various geofenced smart areas that are enabled by thebeacons disclosed here, information regarding one or more deployed IoTpacks and/or personal transport devices to which such IoT packs may beaffixed, e.g., power levels, location, rental status, etc.

In one exemplary use-case, a given smart area 100, demarcated by fourbeacons 102 a, 102 b, 102 c and 102 d, defines a parking space for apersonal transport device, e.g., an electric scooter 104 a. To determinethe location of the personal transport device and whether it is insideor outside of a smart area 100, the personal transport device isequipped with an “IoT pack” 106 operative to communicate with one ormore of the beacons 102 a, 102 b, 102 c and 102 d through the exchangeof one or more messages over a transmission link provided by theirradios, 114 and 110, respectively. The IoT pack 106, which is explainedin greater detail herein, is affixed to body or frame of the personaltransport device, 104 a and 104 b, may encase one or more radios 114within a durable outer shell 114, which is particularly useful when theIoT pack 106 is expected to the elements. The radio(s) 114 in the IoTpack 106 can transmit and receive signals in accordance with one or moretransmission protocols that the radio(s) 114 support.

A given personal transport device 104 a and 104 b is provided with alink to the NOC 118 over a wide area network 116. The connection to thewide area network 116 may be provided by a wide area network radio thatis deployed as a component of the IoT pack 106. Alternatively, the IoTpack 106 can initiate a local or personal network connection with amobile device that a user provides, e.g., over an 802.11 or Bluetoothlink, and then using the wide area network connection that the mobiledevice provides. In either event, the IoT pack 106 maintains aconnection back to the NOC 118 over which over which the NOC 118 and IoTpack 106 can exchange data and commands.

The wide area network 116 may be any suitable type of network allowingtransport of data communications across thereof. The network 116 maycouple the NOC with one or more IoT packs deployed on one or morepersonal transport devices so that communications may be exchanged. Inone embodiment, the network may be the Internet, following knownInternet protocols for data communication, or any other communicationnetwork, e.g., any local area network (LAN), or wide area network (WAN)connection, wire-line type connections, wireless type connections, orany combination thereof. A connection to the Internet may be made inaccordance with wireless transmission protocols, such as GPRS and LTE.

Advantageously, embodiments of the invention comprise the use of UltraWide Band (“UWB”) radios, 114 and 124, located at both the beacon 102and the IoT pack 106. In this regard, smart area implementation is basedon the utilization of UWB signals from a plurality of beacons toimplement the trilateration algorithm. UWB is a radio technology basedon the IEEE 802.15.4a and 802.15.4z standards that enables extremelyaccurate measure of the Time of Flight (“ToF”) of a given radio signal,leading to centimeter accuracy distance/location measurement.Embodiments utilize ToF of one or more UWB signals to implement atechnique for measuring the distance between two radio transceivers bymultiplying the time of flight of a given signal by the speed of light.From this basic principle, UWB technology can be implemented indifferent ways based on the target applications needs: Two Way Ranging,Time Difference of Arrival (“TDoA”), or Phase Difference of Arrival(“PdoA”).

One embodiment of the present invention uses Two-Way Ranging (“TWR”) todetermine the location of the IoT pack and the personal transport deviceto which it is affixed, which relies on two-way communication betweentwo devices. As the two devices communicate and pass messagestherebetween, the devices also measure the Time of Flight of the UWB RFsignal between the two. By multiplying the round-trip time of the signalby the speed of light, and then dividing by two (2), a determination asto the actual distance between the two devices can be made.

When a determination needs to be made that the IoT pack or personaltransport device to which it is affixed is within a smart area, themicroprocessor 204 at the IoT pack measures the distance from the UWBtransceiver located in which beacon that is being used to demark thegiven smart area. According to the present embodiment the IoT packdetects and measures the distance to UWB transceivers located in atleast three (3) beacons. The microprocessor then applies a trilaterationalgorithm in two cartesian dimensions as follows:

Consider the circle centers (or beacons) C1 and C2 in illustrationreproduced above that have known coordinates. If a third point ofinterest “P” appears at unknown point, then Pythagoras's theorem yields:

r₁² = x² + y²  and  r₂² = (U − x)² + y² thus$x = {{\frac{r_{1}^{2} + r_{2}^{2} + U^{2}}{2U}\mspace{14mu}{and}\mspace{14mu} y} = {{\pm \sqrt{r_{1}^{2}}} - x^{2}}}$

Building upon the foregoing mathematics, consider the plot reproducedbelow in which a top down projection of a hypothetical smart area ispresented, such as a smart parking spot:

In the depicted example, points A, B, C and D represent beacons that areplaced on a same or similar plane where:

z _(a) =z _(b) =z _(c)=0  [Eq. 1]

Taking a given point as the start of our coordinate system, e.g., pointA, therefore:

x _(a) =y _(a) =z _(a)=0  [Eq 2]

Given a point E, three (3) spheres can be drawn such that their centerpoints are at A, B, and C, respectively, and where their surfacecontains point E. Radii of these spheres will then be calculated as:

r _(a) =x ² +y ² +z ²  [Eq 3]

r _(b)=(x−x _(b))² +y ² +z ²  [Eq 4]

r _(c)=(x−x _(c))²+(y−y _(c))+z ²  [Eq 5]

Since we have these radii through UWB measuring (taking the medianmeasurement of all measurements done each second), the above equationscan be simplified to arrive at the following:

$\begin{matrix}{x = \frac{r_{a}^{2} - r_{b}^{2} - x_{b}^{2}}{2x_{b}}} & \left\lbrack {{Eq}.\mspace{14mu} 6} \right\rbrack \\{x = \frac{r_{a}^{2} - r_{b}^{2} + x_{c}^{2} + y_{c}^{2} - {2x_{c}x}}{2y_{c}}} & \left\lbrack {{Eq}.\mspace{14mu} 7} \right\rbrack \\{z = \sqrt{r_{a}^{2} - x^{2} - y^{2}}} & \left\lbrack {{Eq}.\mspace{14mu} 8} \right\rbrack\end{matrix}$

This gives us the point of the tracked device in 3D space, which may beuseful in the context of a number of use-cases in which embodiments ofthe invention may be applied. In the case of using smart areas as aparking spot, such methodologies are primarily interested in x and ycoordinates, which therefore does not require calculation of the zcoordinate in many situations.

When using four (4) beacons, for example, provides the opportunity tocalculate the position using four (4) disparate triangles (ABC, BCD,CDA, DAC). This in turn provides an opportunity to precisely calculatethe coordinates of an object, such as a personal transport device oreven just the IoT pack itself, even if one of the beacons fails. Also,performing multiple calculations with different combinations of beaconsprovides the additional opportunity to more easily detect interferencethat might form a part of incoming signals. For example, where thedifference between calculations is beneath the given threshold, themicroprocessor may be programmed to find the average between thosepoints and accept such calculation as a valid measurement. If one ormore points are greater than or otherwise exceed the set threshold awayfrom the closest other point, the microprocessor may be programmed tocalculate, apply or otherwise perform an interference correctionalgorithm, such as any one of the interference correction algorithmswell known to those of skill in the art.

In addition to the foregoing, by knowing the relative height that shouldbe provided as an input to the set of equations shown above, themicroprocessor can approximate which of the calculations is the mostprecise, e.g., by calculating the z-value for each of the calculationsand checking which one is closest to the real value. This is arelatively trivial task when dealing with a uniform set of personaltransportation devices in which the IoT pack is affixed at a knownlocation on the device at a known height. Ultimately, this allows foridentification of the beacon that is the source of any observedinterference, e.g., the one not included in the most precisemeasurement).

As indicated above, a given personal transport device 104 a and 104 b isprovided with a link to the NOC 118 over a wide area network 116 thatthe NOC 118 and IoT pack 106 can use to exchange data and commands. Forexample, where the IoT pack 106 is affixed to an electric scooter thatusers rent on a time and/or distance basis, the NOC 118 may be operativeto transmit authorization and deauthorization messages to the IoT pack106, as well as receive usage information from the IoT pack 106 toproperly meter and charge a give user session. Commands from the NOC 118may further instruct the personal transport device 104 a and 104 b toengage one or more interlocks (discussed in greater detail herein) onthe basis of device state and location, e.g., engage the brake anddisengage power to the one or more motors when the personal transportdevice 104 a is located within the boundaries of a smart area 102 a, 102b, 102 c and 102 d, and the user ends his or her current session. Thoseof skill in the art recognize that additional data, commands,parameters, telemetry, etc. may be passed between the NOC 118 and IoTpack 106 over the WAN connection 116, which may also comprise storage ofsuch data in the data store 120, as well as the calculation ofstatistics on the basis thereof, including usage statistics.

FIG. 2 presents a block diagram illustrating hardware components of anIoT pack and personal transport device according to one embodiment ofthe present invention. In accordance with the embodiment of FIG. 2,components comprising the IoT pack are encapsulated or enclosed within ashell or similar enclosure 202. At the heart of the IoT pack is amicroprocessor 204 that is in communication with a storage medium 216that is operative to maintain program code for execution by themicroprocessor 204. According to one embodiment, the microprocessor 204is selected from the Qualcomm Snapdragon 4. Series of mobile processorsimplementing the ARM architecture. Storage 216 may comprise a selectionof any number of electronically erasable programmable read-only memory(“EEPROM”), including flash memory, which is a type of EERPOM designedfor high-speed and high-density at the expense of large erase blocks anda limited number of write cycles.

A user on a personal transport device or who otherwise requiresinteraction with the IoT pack 202 may interface the microprocessor 204and storage 216 via a display (not pictured) that may interface with thedisplay output 206 on the IoT pack 202. The IoT pack 202 may alsoprovide a user with a variety of audio signals and/or cues by themicroprocessor sending audio data to a speaker (not pictured) that is inconnection with the audio interface 218. The microprocessor 204 may senddata to the audio interface 218 and the display output 206 on the basisof instructions that it processes when executing program code that itretrieves from storage 216, as well as when executing commands that itreceives from remote locations over a wide area network, such as theNOC.

Regarding the execution of remotely received commands, the receipt ofsuch data may be accomplished by maintaining a connection to a wide areanetwork by way of a wide area network (“WAN”) interface 208, e.g.,802.11, 3G or 4G cellular network interface, etc., that may be providedas part of the IoT pack 202. Alternatively, or in conjunction with theforegoing, the IoT pack 202 may be provided with an interface to apersonal area network (“PAN”) 212, e.g., Bluetooth, that allows the IoTpack 202 to communicate with, for example, the cellular phone of a userthat opens a Bluetooth connection to the IoT pack 202, which may thenprovide the IoT pack 202 with a connection to a wide area network, e.g.,802.11, 3G or 4G cellular networks, etc.

In addition to the foregoing, the IoT pack 202 may comprise a connectionto one or more physical or virtual keyboards, one or more cameras, oneor more accelerometers, one or more gyroscopes, an interface to theglobal positioning system (“GPS”) 210 or other location identifying typecapability, e.g., GLONASS, Galileo, etc., or a display with a highdegree of functionality, such as a touch-sensitive color 2D or 3Ddisplay. The IoT pack may include or execute one or more operatingsystems, such as Linux, Windows Embedded, or similar embedded OS, or amobile operating system, such as iOS, Android, or the like.

The microprocessor 204 running at the IoT pack 202 may also execute avariety of possible applications from storage 216 or over the WAN or PANinterfaces, 208 and 212 respectively, such as a client softwareapplication enabling communication with other devices, receiving anddisplaying textual content, multimedia content, images, one or moremessages, such as via email, short message service (SMS), or multimediamessage service (MMS), including via a network, such as a socialnetwork, including, for example, Facebook, LinkedIn, Twitter, Flickr, orGoogle+, to provide only a few possible examples.

The IoT pack 202 is in electrical communication with components externalto the IoT pack itself, including a power source (not pictured) and oneor more interlocks 220 that might be present on a personal transportdevice to which the IoT pack is affixed. An interlock is a feature on apersonal transport device that makes the state of two mechanisms orfunctions mutually dependent. An interlock may be used, for example, toprevent undesired states in a finite state machine and may comprise anycombination of electrical and mechanical systems. In relation topersonal transport devices, an interlock is used to help prevent themachine from harming the operator or engaging in unauthorized use bypreventing one element from changing state due to the state of anotherelement and vice versa. The interlocks 220 are in communication with oneor more interlock endpoints 222, which are the specific electricaland/or mechanical subsystems that are enabled, disabled or otherwisemodified on the basis of instructions that a given interlock 220receives from the microprocessor 204.

To accomplish ranging and location determination, the IoT pack 202 isequipped with a UWB radio 214 that allows it to engage in UWBcommunications with UWB radios located in one or more beacons thatdefine the bounds of a smart area. As described above, the UWB radio inthe IoT pack engages in ToF ranging to determine its location in 3Dspace. Based on this determination, program code from storage or the NOCthat the microprocessor executes can cause any number of responses. Forexample, when the IoT pack is attached to a personal transport device,entry of the device into a given smart area may represent the end of asession, thereby causing the microprocessor to instruct an interlock toengage, which results in the transmission of signals to one or moreinterlock endpoints 222, for example, causing the device to deploy akickstand and disengage the motors to avoid accidental unauthorizedacceleration of the device.

Turning to FIG. 3, the UWB radio disposed of within the IoT pack is at agiven location in 3D space 306 and engages in UWB ranging andcalculating the ToF of signals received from various beacons 302 a, 302b, 302 c and 302 d that define a given smart area 304. Themicroprocessor in the IoT pack calculates ToF of the incoming signals,which allows it to therefore determine its location 306 in 3D space. Theability to perform accurate, fine grained location calculations allowsthe IoT pack to know its location vis-à-vis the beacons with which it isin communication, e.g., inside or outside the bounds of a smart area.

Such functionality may be extremely useful in the rental personaltransportation device market segment in which it is critical that rentedpersonal transportation devices be returned to authorized parking areas.By use of the systems and methods of the present invention, smart areascan be defined to automate the return process. FIG. 4, For example,presents tracking entry of a device into a smart area according to oneembodiment of the present invention. Depicted are two personaltransportation devices, each equipped with an IoT pack that is in UWBcommunication with one or more beacons 402 that define a smart area 406,in this case a parking area for the return of rental electric scooters,404 a and 404 b.

A given one of the personal transportation devices, 404 a and 404 b, arein UWB communication with the beacons that define a smart area 406. Themicroprocessor in a given one of the IoT packs affixed to the personaltransportation device, 404 a and 404 b, is operative to calculate entryto and egress from the smart area 406 based on the signals the UWB radioin the IoT pack receives from the beacons 402. When a user wishes toperform a given context relevant action, such as returning a rentalelectric scooter and ending a given session, the microprocessor in theIoT pack only processes the return subsequent to calculating orotherwise determining that the personal transport device 404 a is withinthe bounds of the smart area. Where the device is outside the smart areaor otherwise not in a valid location to perform an action that the userdesire, e.g., 404 b, processing is suspended until the microprocessordetermine that the personal transportation device is within the smartarea. Accordingly, all manner of location-based processing orfunctionality that requires highly accurate, fine grained locationinformation is enabled by the present invention.

Building upon the foregoing, FIGS. 5 and 6 present the first and secondparts, respectively, of a flow diagram that illustrates tracking entryof a device into a smart area according to one embodiment of the presentinvention. The process begins at FIG. 5 with a power source inelectrical communication with the IoT pack energizing or otherwiseproviding power to the components comprising the IoT pack, step 502.Power source to energize the IoT pack can be provided from one or moresources including, but not limited to, rechargeable batteries, solarcells, kinetic power, etc. According to the embodiment of FIG. 5,energizing the IoT pack further comprises providing power to andconducting the initialization boot up sequence of a Bluetooth radiodeployed as part of the IoT pack, step 504, which may further comprisethe use of a Bluetooth LE radio.

Subsequent to startup of the IoT pack and components comprising a partthereof, step 502 and 504, the Bluetooth radio initiates thetransmission of inquiry messages, step 506, and awaits the receipt of aninquiry message from a vertex beacon deployed to demarcate theboundaries of a given smart area, step 508. Accordingly, amicroprocessor commands the Bluetooth radio at the IoT pack to enter theinquiry state as a “master” and begins message transmission using 16 ofthe 32 channels for inquiries. During every even number slot, theBluetooth radio transmits to ID packets on two different channels,listing during the following slot on those same two channels for aresponse from a slave (a frequency hopping sequence (“FHS”) packet).Where the radio does not receive a response, it uses the next twochannels.

A given beacon, by contrast with the radio at the IoT pack, is in a“slave” sate and, being unconnected Bluetooth device, wants to bediscovered by a master device. Accordingly, the Bluetooth radio at agiven beacon periodically enters the inquiry scan state in which itactivates its receiver and listens for inquiries. In accordance with thedefined protocol, the Bluetooth radio must enter this state at leastevery 2.56 seconds (4096 slots). During the inquiry scan state, theunconnected device listens on one of 32 channels, for at least 10 ms (16slots). A different channel is selected every 1.28 seconds (2048 slots).The channels and the hopping sequence are calculated from the generalinquiry address.

Where the Bluetooth radio at the IoT pack does not receive a response tothe inquiry messages that it's transmitting, step 508, program flowreturns to step 506 with the Bluetooth radio continuing to transmitinquiry messages, essentially looking for a response that indicates thepresence of or proximity to a beacon that demarks the boundary of asmart area. Where a slave device responds indicating receipt of aninquiry message that the Bluetooth radio at the IoT pack (master)broadcasts, e.g., the check at step 508 evaluates to true, themicroprocessor energizing or otherwise initiating the provision of powerto the UWB radio, which may be integrated into the IoT pack or locatedexternally in electrical communication with the microprocessor and otherhardware components comprising the IoT pack, step 510. Morespecifically, when the check at step 508 evaluates to true, the IoT packis within range of a smart area and must therefore begin calculatinglocation with high precision.

Upon completion of its initialization routine, the UWB radio working inconjunction with the IoT pack begins to receive UWB signals from one ormore UWB radios located in one or more beacons that are used to demarkthe boundaries of a given smart area. The microprocessor calculatesranging to one or more of the beacons on the basis of the UWB signalsthat that UWB radio at the IoT pack sends and receives, step 512.Processing continues at FIG. 6 with the microprocessor applying thetechniques described herein to analyze the ranging information that themicroprocessor is receiving from the UWB radio, step 602.

The microprocessor, executing program code that it retrieves from localor remote storage, determines on the basis of its analysis if it islocated within the boundary of the smart area, the basis of the resultof such evaluation considered a trigger for further events to occurdownstream, step 604. For example, a trigger may be simple asdetermining on the basis of the calculated location of the IoT pack thatit is within the boundary of the smart area. More complex triggers maycomprise layer subsequent requirements that must be met prior to firingany defined action(s). Upon satisfaction of the trigger, step 604, themicroprocessor may perform and action, step 606, for example,communicating with the NOC and/or application on a user mobile device,which can result in still further downstream processing, e.g.,termination of a rental session and engaging one or more interlocks on apersonal transportation devices on which the IoT pack is installed.

In situations where the trigger is not satisfied, step 604, orsubsequent to any processing that the microprocessor might perform inresponse to satisfaction of a trigger, step 606, program flow isdirected to step 608 where the microprocessor performs a further checkto determine if either a received invitation is invalid or the processhas entered a timeout state. The check at step 608 may evaluate to true,for example, in situations where the IoT pack came within range of asmart area but never entered the smart area, or where IoT pack entersthe smart area and completes any processing, step 606, associated withsatisfaction of the trigger, step 604. In those situations where thecheck at step 608 evaluates to true, program flow is directed towardsstep 610 and the process concludes, which may comprise deactivation ofthe UWB radio to conserve limited power and computing resources.Alternatively, where the process has not yet timed out, step 608,program flow is directed back to FIG. 5 with the UWB radio continuing toreceive signals that the microprocessor uses to calculate ranging to theone or more beacons from which it is receiving UWB signals.

FIGS. 1 through 6 are conceptual illustrations allowing for anexplanation of the present invention. It should be understood thatvarious aspects of the embodiments of the present invention could beimplemented in hardware, firmware, software, or combinations thereof. Insuch embodiments, the various components and/or steps would beimplemented in hardware, firmware, and/or software to perform thefunctions of the present invention. That is, the same piece of hardware,firmware, or module of software could perform one or more of theillustrated blocks (e.g., components or steps).

In software implementations, computer software (e.g., programs or otherinstructions) and/or data is stored on a machine readable medium as partof a computer program product and is loaded into a computer system orother device or machine via a removable storage drive, hard drive, orcommunications interface. Computer programs (also called computercontrol logic or computer readable program code) are stored in a mainand/or secondary memory, and executed by one or more processors(controllers, or the like) to cause the one or more processors toperform the functions of the invention as described herein. In thisdocument, the terms “machine readable medium,” “computer program medium”and “computer usable medium” are used to generally refer to media suchas a random access memory (“RAM”); a read only memory (“ROM”); aremovable storage unit (e.g., a magnetic or optical disc, flash memorydevice, or the like); a hard disk; or the like.

Notably, the figures and examples above are not meant to limit the scopeof the present invention to a single embodiment, as other embodimentsare possible by way of interchange of some or all of the described orillustrated elements. Moreover, where certain elements of the presentinvention can be partially or fully implemented using known components,only those portions of such known components that are necessary for anunderstanding of the present invention are described, and detaileddescriptions of other portions of such known components are omitted soas not to obscure the invention. In the present specification, anembodiment showing a singular component should not necessarily belimited to other embodiments including a plurality of the samecomponent, and vice-versa, unless explicitly stated otherwise herein.Moreover, applicants do not intend for any term in the specification orclaims to be ascribed an uncommon or special meaning unless explicitlyset forth as such. Further, the present invention encompasses presentand future known equivalents to the known components referred to hereinby way of illustration.

The foregoing description of the specific embodiments will so fullyreveal the general nature of the invention that others can, by applyingknowledge within the skill of the relevant art(s) (including thecontents of the documents cited and incorporated by reference herein),readily modify and/or adapt for various applications such specificembodiments, without undue experimentation, without departing from thegeneral concept of the present invention. Such adaptations andmodifications are therefore intended to be within the meaning and rangeof equivalents of the disclosed embodiments, based on the teaching andguidance presented herein. It is to be understood that the phraseologyor terminology herein is for the purpose of description and not oflimitation, such that the terminology or phraseology of the presentspecification is to be interpreted by the skilled artisan in light ofthe teachings and guidance presented herein, in combination with theknowledge of one skilled in the relevant art(s).

While various embodiments of the present invention have been describedabove, it should be understood that they have been presented by way ofexample, and not limitation. It would be apparent to one skilled in therelevant art(s) that various changes in form and detail could be madetherein without departing from the spirit and scope of the invention.Thus, the present invention should not be limited by any of theabove-described exemplary embodiments, but should be defined only inaccordance with the following claims and their equivalents.

What is claimed is:
 1. A system for detecting entry of an IoT pack intoa geofenced location, the system comprising: a plurality of beaconsarranged along the perimeter of a geofenced location, a given one of theplurality of beacons operative to transmit one or more signals; and anIoT pack operative to receive the one or more signals from one or moreof the plurality of beacons and determine its location on the basisthereof relative to the geofenced location.
 2. The system of claim 1wherein a given one of the plurality of beacons comprises: a base bywhich to affix the given beacon to a surface; a durable enclosure thatdefines an internal volume for the storage of one or more electrical andmechanical components; one or more radio transceivers disposed of withinthe internal volume of the durable enclosure; and a power source toenergize the one or more radios.
 3. The system of claim 2 wherein agiven one of the one or more radios is an ultra wide band radio.
 4. Thesystem of claim 2 wherein a given one of the one or more radios is aBluetooth radio.
 5. The system of claim 1 wherein the geofenced locationis a polygon and the plurality of beacons are arranged at the verticesof the geofenced location
 6. The system of claim 1 wherein the IoT packcomprises an ultra wide band radio and is operative to receive one ormore ultra wide band signals.
 7. The system of claim 6 wherein the IoTpack comprises a Bluetooth radio.
 8. The system of claim 7 wherein theIoT pack engages the ultra wide band radio in response to the receipt ofa response to a Bluetooth inquiry message.
 9. The system of claim 7wherein the IoT pack disengages the ultra wide band radio afterexpiration of a timeout period.
 10. The system of claim 1 wherein theIoT pack comprises: a programmable processor; one or more radiotransceivers to receive signals; a storage device; and program coderetrievable from the storage device and executable by the programmableprocessor to determine the location of the IoT pack relative to thegeofenced location on the basis of the received one or more signals fromone or more of the plurality of beacons.
 11. The system of claim 10wherein the processor executes program code to perform an action inresponse to determining the location of the IoT pack relative to thegeofenced location.
 12. The system of claim 10 wherein the processorexecutes program code to perform an action in response to determiningthat the IoT pack has entered the geofenced location.
 13. A method fordetecting entry of an IoT pack into a geofenced location, the methodcomprising: broadcasting a Bluetooth inquiry message from a Bluetoothradio that forms a part of an IoT pack; Upon receipt of one or moreresponses to the inquiry message from one or more Bluetooth radios thatform a part of one or more beacons that are used to demark a geofencedlocation, energizing an ultra wide band radio that forms a part of theIoT pack and receiving ultra wide band signals from one or more ultrawide band radios that form a part of the one or more beacons;Calculating ranging information from the IoT pack to the one or morebeacons on the basis of the received ultra wide band signals; andAnalyzing the calculated ranging information to determine the locationof the IoT pack relative to the geofenced location.
 14. The method ofclaim 13 wherein analyzing the calculated ranging information comprisesdetermining if the IoT pack is located within the geofenced location.15. The method of claim 13 wherein calculating ranging information fromthe IoT pack to the one or more beacons comprises using Two-Way Ranging(“TWR”) to determine the location of the IoT pack
 16. The method ofclaim 13 wherein using TWR to determine the location of the IoT packcomprises multiplying the round-trip time of the ultra wide band signalsbetween the IoT pack and a given beacon by the speed of light and thendividing by two.
 17. Non-transitory computer readable media comprisingprogram code that when executed by a programmable processor causesexecution of a method for detecting entry of an IoT pack into ageofenced location, the computer readable media comprising: computerprogram code for broadcasting a Bluetooth inquiry message from aBluetooth radio that forms a part of an IoT pack; computer program codefor energizing an ultra wide band radio that forms a part of the IoTpack and receiving ultra wide band signals from one or more ultra wideband radios that form a part of the one or more beacons upon receipt ofone or more responses to the inquiry message from one or more Bluetoothradios that form a part of one or more beacons that are used to demark ageofenced location; computer program code for calculating ranginginformation from the IoT pack to the one or more beacons on the basis ofthe received ultra wide band signals; and computer program code foranalyzing the calculated ranging information to determine the locationof the IoT pack relative to the geofenced location.
 18. The computerprogram code of claim 17 wherein the computer program code for analyzingthe calculated ranging information comprises computer program code fordetermining if the IoT pack is located within the geofenced location 19.The computer program code of claim 17 wherein the computer program codefor calculating ranging information from the IoT pack to the one or morebeacons comprises computer program code for using Two-Way Ranging(“TWR”) to determine the location of the IoT pack.
 20. The computerprogram code of claim 17 wherein the computer program code for using TWRto determine the location of the IoT pack comprises computer programcode for multiplying the round-trip time of the ultra wide band signalsbetween the IoT pack and a given beacon by the speed of light and thendividing by two.